home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / Interfaces&Libraries / Universal / Interfaces / PInterfaces / QDOffscreen.p < prev    next >
Encoding:
Text File  |  1998-08-17  |  7.3 KB  |  225 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        QDOffscreen.p
  3.  
  4.      Contains:    Quickdraw Offscreen GWorld Interfaces.
  5.  
  6.      Version:    Technology:    Mac OS 8
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1985-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. }
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT QDOffscreen;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __QDOFFSCREEN__}
  27. {$SETC __QDOFFSCREEN__ := 1}
  28.  
  29. {$I+}
  30. {$SETC QDOffscreenIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33. {$IFC UNDEFINED __ERRORS__}
  34. {$I Errors.p}
  35. {$ENDC}
  36. {$IFC UNDEFINED __QUICKDRAW__}
  37. {$I Quickdraw.p}
  38. {$ENDC}
  39.  
  40.  
  41. {$PUSH}
  42. {$ALIGN MAC68K}
  43. {$LibExport+}
  44.  
  45. {
  46.     NOTE:     GWorldFlags is no longer defined as a SET.  Instead it is a LONGINT
  47.             and the set elements are bit masks.  You will need to use Bit-OR's 
  48.             to build a set and Bit-AND's to test sets.
  49. }
  50.  
  51. CONST
  52.     pixPurgeBit                    = 0;
  53.     noNewDeviceBit                = 1;
  54.     useTempMemBit                = 2;
  55.     keepLocalBit                = 3;
  56.     pixelsPurgeableBit            = 6;
  57.     pixelsLockedBit                = 7;
  58.     mapPixBit                    = 16;
  59.     newDepthBit                    = 17;
  60.     alignPixBit                    = 18;
  61.     newRowBytesBit                = 19;
  62.     reallocPixBit                = 20;
  63.     clipPixBit                    = 28;
  64.     stretchPixBit                = 29;
  65.     ditherPixBit                = 30;
  66.     gwFlagErrBit                = 31;
  67.  
  68.     pixPurge                    = $00000001;
  69.     noNewDevice                    = $00000002;
  70.     useTempMem                    = $00000004;
  71.     keepLocal                    = $00000008;
  72.     pixelsPurgeable                = $00000040;
  73.     pixelsLocked                = $00000080;
  74.     kAllocDirectDrawSurface        = $00004000;
  75.     mapPix                        = $00010000;
  76.     newDepth                    = $00020000;
  77.     alignPix                    = $00040000;
  78.     newRowBytes                    = $00080000;
  79.     reallocPix                    = $00100000;
  80.     clipPix                        = $10000000;
  81.     stretchPix                    = $20000000;
  82.     ditherPix                    = $40000000;
  83.     gwFlagErr                    = $80000000;
  84.  
  85.  
  86. TYPE
  87.     GWorldFlags                            = UInt32;
  88. { Type definition of a GWorldPtr }
  89.     GWorldPtr                            = CGrafPtr;
  90. FUNCTION NewGWorld(VAR offscreenGWorld: GWorldPtr; PixelDepth: INTEGER; {CONST}VAR boundsRect: Rect; cTable: CTabHandle; aGDevice: GDHandle; flags: GWorldFlags): QDErr;
  91.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  92.     INLINE $203C, $0016, $0000, $AB1D;
  93.     {$ENDC}
  94. {$IFC NOT TARGET_OS_MAC }
  95. { Quicktime 3.0 }
  96. {$IFC TARGET_OS_WIN32 }
  97. {  gdevice attribute bits }
  98.  
  99. CONST
  100.     deviceIsIndirect            = $00000001;
  101.     deviceNeedsLock                = $00000002;
  102.     deviceIsStatic                = $00000004;
  103.     deviceIsExternalBuffer        = $00000008;
  104.     deviceIsDDSurface            = $00000010;
  105.     deviceIsDCISurface            = $00000020;
  106.     deviceIsGDISurface            = $00000040;
  107.     deviceIsAScreen                = $00000080;
  108.     deviceIsOverlaySurface        = $00000100;
  109.  
  110. FUNCTION GetGDeviceSurface(gdh: GDHandle): Ptr;
  111. FUNCTION GetGDeviceAttributes(gdh: GDHandle): UInt32;
  112. { to allocate non-mac-rgb GWorlds use QTNewGWorld (ImageCompression.h) }
  113. FUNCTION NewGWorldFromHBITMAP(VAR offscreenGWorld: GWorldPtr; cTable: CTabHandle; aGDevice: GDHandle; flags: GWorldFlags; newHBITMAP: UNIV Ptr; newHDC: UNIV Ptr): QDErr;
  114. {$ENDC}
  115. FUNCTION NewGWorldFromPtr(VAR offscreenGWorld: GWorldPtr; PixelFormat: UInt32; {CONST}VAR boundsRect: Rect; cTable: CTabHandle; aGDevice: GDHandle; flags: GWorldFlags; newBuffer: Ptr; rowBytes: LONGINT): QDErr;
  116. {$ENDC}
  117.  
  118. FUNCTION LockPixels(pm: PixMapHandle): BOOLEAN;
  119.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  120.     INLINE $203C, $0004, $0001, $AB1D;
  121.     {$ENDC}
  122. PROCEDURE UnlockPixels(pm: PixMapHandle);
  123.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  124.     INLINE $203C, $0004, $0002, $AB1D;
  125.     {$ENDC}
  126. FUNCTION UpdateGWorld(VAR offscreenGWorld: GWorldPtr; pixelDepth: INTEGER; {CONST}VAR boundsRect: Rect; cTable: CTabHandle; aGDevice: GDHandle; flags: GWorldFlags): GWorldFlags;
  127.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  128.     INLINE $203C, $0016, $0003, $AB1D;
  129.     {$ENDC}
  130. PROCEDURE DisposeGWorld(offscreenGWorld: GWorldPtr);
  131.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  132.     INLINE $203C, $0004, $0004, $AB1D;
  133.     {$ENDC}
  134. PROCEDURE GetGWorld(VAR port: CGrafPtr; VAR gdh: GDHandle);
  135.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  136.     INLINE $203C, $0008, $0005, $AB1D;
  137.     {$ENDC}
  138. PROCEDURE SetGWorld(port: CGrafPtr; gdh: GDHandle);
  139.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  140.     INLINE $203C, $0008, $0006, $AB1D;
  141.     {$ENDC}
  142. PROCEDURE CTabChanged(ctab: CTabHandle);
  143.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  144.     INLINE $203C, $0004, $0007, $AB1D;
  145.     {$ENDC}
  146. PROCEDURE PixPatChanged(ppat: PixPatHandle);
  147.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  148.     INLINE $203C, $0004, $0008, $AB1D;
  149.     {$ENDC}
  150. PROCEDURE PortChanged(port: GrafPtr);
  151.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  152.     INLINE $203C, $0004, $0009, $AB1D;
  153.     {$ENDC}
  154. PROCEDURE GDeviceChanged(gdh: GDHandle);
  155.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  156.     INLINE $203C, $0004, $000A, $AB1D;
  157.     {$ENDC}
  158. PROCEDURE AllowPurgePixels(pm: PixMapHandle);
  159.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  160.     INLINE $203C, $0004, $000B, $AB1D;
  161.     {$ENDC}
  162. PROCEDURE NoPurgePixels(pm: PixMapHandle);
  163.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  164.     INLINE $203C, $0004, $000C, $AB1D;
  165.     {$ENDC}
  166. FUNCTION GetPixelsState(pm: PixMapHandle): GWorldFlags;
  167.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  168.     INLINE $203C, $0004, $000D, $AB1D;
  169.     {$ENDC}
  170. PROCEDURE SetPixelsState(pm: PixMapHandle; state: GWorldFlags);
  171.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  172.     INLINE $203C, $0008, $000E, $AB1D;
  173.     {$ENDC}
  174. FUNCTION GetPixBaseAddr(pm: PixMapHandle): Ptr;
  175.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  176.     INLINE $203C, $0004, $000F, $AB1D;
  177.     {$ENDC}
  178. FUNCTION GetPixRowBytes(pm: PixMapHandle): LONGINT;
  179.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  180.     INLINE $203C, $0004, $0018, $AB1D;
  181.     {$ENDC}
  182. FUNCTION NewScreenBuffer({CONST}VAR globalRect: Rect; purgeable: BOOLEAN; VAR gdh: GDHandle; VAR offscreenPixMap: PixMapHandle): QDErr;
  183.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  184.     INLINE $203C, $000E, $0010, $AB1D;
  185.     {$ENDC}
  186. PROCEDURE DisposeScreenBuffer(offscreenPixMap: PixMapHandle);
  187.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  188.     INLINE $203C, $0004, $0011, $AB1D;
  189.     {$ENDC}
  190. FUNCTION GetGWorldDevice(offscreenGWorld: GWorldPtr): GDHandle;
  191.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  192.     INLINE $203C, $0004, $0012, $AB1D;
  193.     {$ENDC}
  194. FUNCTION QDDone(port: GrafPtr): BOOLEAN;
  195.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  196.     INLINE $203C, $0004, $0013, $AB1D;
  197.     {$ENDC}
  198. FUNCTION OffscreenVersion: LONGINT;
  199.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  200.     INLINE $7014, $AB1D;
  201.     {$ENDC}
  202. FUNCTION NewTempScreenBuffer({CONST}VAR globalRect: Rect; purgeable: BOOLEAN; VAR gdh: GDHandle; VAR offscreenPixMap: PixMapHandle): QDErr;
  203.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  204.     INLINE $203C, $000E, $0015, $AB1D;
  205.     {$ENDC}
  206. FUNCTION PixMap32Bit(pmHandle: PixMapHandle): BOOLEAN;
  207.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  208.     INLINE $203C, $0004, $0016, $AB1D;
  209.     {$ENDC}
  210. FUNCTION GetGWorldPixMap(offscreenGWorld: GWorldPtr): PixMapHandle;
  211.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  212.     INLINE $203C, $0004, $0017, $AB1D;
  213.     {$ENDC}
  214.  
  215. {$ALIGN RESET}
  216. {$POP}
  217.  
  218. {$SETC UsingIncludes := QDOffscreenIncludes}
  219.  
  220. {$ENDC} {__QDOFFSCREEN__}
  221.  
  222. {$IFC NOT UsingIncludes}
  223.  END.
  224. {$ENDC}
  225.